#!/bin/bash

# 设置颜色输出
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m' # No Color

echo -e "${GREEN}=== 修复AppDelegate符号未定义问题 ===${NC}"

# 导航到Example目录
echo -e "${GREEN}导航到Example目录...${NC}"
cd ~/Desktop/BLESDK/Example

# 检查main.m文件内容
echo -e "${YELLOW}检查main.m文件...${NC}"
if grep -q "AppDelegate class" BLESDK/main.m; then
    echo -e "${RED}在main.m中发现问题: 使用了AppDelegate而非PREFIXAppDelegate${NC}"
    echo -e "${YELLOW}正在修复main.m文件...${NC}"
    # 备份原始文件
    cp BLESDK/main.m BLESDK/main.m.backup
    
    # 修改main.m文件中的AppDelegate引用为PREFIXAppDelegate
    sed -i '' 's/#import "AppDelegate.h"/#import "PREFIXAppDelegate.h"/' BLESDK/main.m
    sed -i '' 's/\[AppDelegate class\]/\[PREFIXAppDelegate class\]/' BLESDK/main.m
    
    echo -e "${GREEN}main.m文件已修复${NC}"
else
    echo -e "${GREEN}main.m文件似乎已经正确${NC}"
fi

# 检查AppDelegate.h和PREFIXAppDelegate.h是否存在冲突
if [ -f "BLESDK/AppDelegate.h" ] && [ -f "BLESDK/PREFIXAppDelegate.h" ]; then
    echo -e "${YELLOW}发现冲突: AppDelegate.h和PREFIXAppDelegate.h同时存在${NC}"
    echo -e "${YELLOW}创建符号链接以解决冲突...${NC}"
    
    # 备份可能会被覆盖的文件
    cp BLESDK/AppDelegate.h BLESDK/AppDelegate.h.backup
    cp BLESDK/AppDelegate.m BLESDK/AppDelegate.m.backup
    
    # 使用PREFIXAppDelegate作为主要实现
    echo "// 符号链接到PREFIXAppDelegate.h - 请使用PREFIXAppDelegate.h" > BLESDK/AppDelegate.h
    echo "#import \"PREFIXAppDelegate.h\"" >> BLESDK/AppDelegate.h
    
    echo "// 符号链接到PREFIXAppDelegate.m - 请使用PREFIXAppDelegate.m" > BLESDK/AppDelegate.m
    echo "#import \"PREFIXAppDelegate.m\"" >> BLESDK/AppDelegate.m
    
    echo -e "${GREEN}已创建符号链接${NC}"
fi

# 清理项目
echo -e "${YELLOW}清理项目...${NC}"
rm -rf ~/Library/Developer/Xcode/DerivedData/BLESDK*

echo -e "${GREEN}问题修复完成！${NC}"
echo -e "${YELLOW}请返回Xcode并执行以下操作:${NC}"
echo -e "${YELLOW}1. 选择菜单 Product > Clean Build Folder (Shift+Command+K)${NC}"
echo -e "${YELLOW}2. 重新构建项目${NC}"
echo -e "${YELLOW}如果问题仍然存在，请在Xcode中检查PREFIXAppDelegate.h/.m文件是否被正确添加到目标中${NC}" 